WCN-1798: fix(deps): clear 4 HIGH osv advisories blocking beta publish - #9414
Merged
Conversation
Contributor
lokesh-bitgo
previously approved these changes
Aug 4, 2026
The Publish @bitgo-beta workflow has failed since 2026-08-03 on the osv-severity-gate: 4 of 41 advisory groups scored at or above CVSS 7.0. All four advisories were published 2026-08-03 and all have upstream fixes, so no osv-scanner.toml exclusion is warranted. - brace-expansion 5.0.8 -> 5.0.9 (GHSA-rgw5-rvv9-x895, CVSS 7.5) - fast-uri 3.1.3 -> 3.1.5 (GHSA-7p8r-x3mc-p8w7, CVSS 7.5) - socket.io-parser -> 4.2.7 (GHSA-2m8v-j782-fhvr, CVSS 7.5) - ip-address -> 10.4.0 (GHSA-mwp4-54f8-5fhr, CVSS 7.7) - socks 2.7.3 -> 2.8.9 (carries the ip-address bump) fast-uri stays on the 3.x line rather than moving to 4.1.2: the only consumer is ajv@^8, which declares fast-uri@^3.0.1, and 3.1.5 clears the advisory inside that declared range. Upstream still maintains 3.x under the 'three' dist-tag. ip-address has no 9.x fix, so clearing GHSA-mwp4-54f8-5fhr needs a major bump. Its only consumer is socks, which moved to ip-address@^10.x in 2.8.7, so socks is raised to 2.8.9 rather than forcing 10.x underneath the old 2.7.3 pin. After this the lock holds a single ip-address@^10.1.1 spec, satisfied by 10.4.0 — no semver-major override remains. The 2.7.3 pin was itself a security floor (WP-1413, "locked socks version to fix vulnerability"), so raising it preserves that intent; 2.8.9 carries no advisories. It also repairs a range violation: socks-proxy-agent@^8 declares socks@^2.8.3, which 2.7.3 never satisfied. The explicit ip-address pin stays even though socks now declares ^10.1.1, because that range still permits the vulnerable 10.1.x/10.2.x releases for npm consumers resolving from overrides. Verified in the installed tree on socks 2.8.9 + ip-address 10.4.0: Address4/Address6 constructors, Address6.fromByteArray().canonicalForm(), helpers ipToBuffer / ipv4ToInt32 / int32ToIpv4 / validateSocksClientOptions, SocksClient.createConnection presence, and SocksProxyAgent construction. socks-proxy-agent 7.0.0 (^2.6.2) and 8.0.5 (^2.8.3) both resolve against 2.8.9. resolutions and overrides are updated together; npm consumers of the bitgo umbrella package only see overrides. Ticket: WCN-1798
zahin-mohammad
force-pushed
the
WCN-1798-clear-high-osv-advisories
branch
from
August 4, 2026 16:01
277cd79 to
3603cd0
Compare
zahin-mohammad
requested review from
a team,
lokesh-bitgo,
mohammadalfaiyazbitgo and
pranavjain97
August 4, 2026 16:32
mohammadalfaiyazbitgo
approved these changes
Aug 4, 2026
pranavjain97
approved these changes
Aug 4, 2026
bhargavirao24
approved these changes
Aug 4, 2026
bhargavirao24
left a comment
There was a problem hiding this comment.
AppSec review is completed.
brace-expansion, fast-uri, and ip-address are the only dependencies within the 7-day window. I checked each one against OSV, GHSA, Scorecard, and provenance.
Everything looks clean and each update matches a reviewed CVE fix.
Good to merge from my side.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Publish @bitgo-betahas failed on every run since 2026-08-03 18:50 UTC (latest: run 30904314719). Theosv-severity-gatereports4 of 41 advisory group(s) at or above CVSS 7.0.npmjs-release.ymlruns the same gate, so prod releases are blocked too.osv-scanner.tomlexclusion is warranted — this bumps the pins in bothresolutionsandoverrides.brace-expansionfast-urisocket.io-parserip-addressAddress4decodes leading-zero octets as decimal while resolvers decode them as octal (SSRF)socksip-addressbump)Version choices
fast-uri3.1.5, not 4.1.2. OSV lists fixes on both lines (3.x → 3.1.5,4.x → 4.1.2). The only consumer isajv@^8, which declaresfast-uri@^3.0.1; 3.1.5 clears the advisory inside the declared range instead of forcing ajv across a major it never declared. Upstream still maintains 3.x (threedist-tag = 3.1.5).ip-addressneeds a major bump — sosocksis upgraded rather than overridden underneath. There is no 9.x fix for GHSA-mwp4-54f8-5fhr.ip-address's only consumer issocks, which was pinned to2.7.3(declaringip-address@^9.0.5). Forcing 10.x under that pin would be a semver-major override in the proxy path, so insteadsocksmoves to 2.8.9 — upstream socks itself switched toip-address@^10.xin 2.8.7. After this change the lock holds a singleip-address@^10.1.1spec resolved to 10.4.0;ip-address@^9.0.5no longer appears anywhere and no override crosses a declared major.Three supporting points:
socks: 2.7.3pin was itself a security floor, not a ceiling —57f2196f59"fix(root): lock socks version / locked socks version to fix vulnerability" (WP-1413). Raising it preserves that intent, andsocks@2.8.9returns 0 advisories from the OSV API.socks-proxy-agent@^8declaressocks@^2.8.3, which2.7.3never satisfied. Both agents in the tree — 7.0.0 (^2.6.2) and 8.0.5 (^2.8.3) — resolve cleanly against 2.8.9.ip-address: 10.4.0pin is kept even though socks now declares^10.1.1, because that range still permits the vulnerable 10.1.x/10.2.x releases for npm consumers resolving fromoverrides.Test plan
resolutionsandoverridesupdated together (npm consumers of thebitgoumbrella only seeoverrides)yarn.lockregenerated;brace-expansion@^1.1.7and@^2.0.1still flatten onto 5.0.9, so the 1.x/2.x affected lines do not reappearip-address@^10.1.1→ 10.4.0; no^9.0.5spec remainsapi.osv.dev/v1/query), includingsocks@2.8.9yarn check-depspassessocks@2.8.9+ip-address@10.4.0:Address4/Address6constructors,Address6.fromByteArray().canonicalForm(), socks helpersipToBuffer(v4 → 4 bytes, v6 → 16) /ipv4ToInt32/int32ToIpv4/validateSocksClientOptions(IPv4 proxy + hostname destination, and IPv6 destination),SocksClient.createConnectionpresent,new SocksProxyAgent('socks5://127.0.0.1:1080')constructsnew Address4('010.0.0.1')now throwsAddressErrorinstead of silently decoding as decimalosv-scannerreports 0 advisory groups at or above CVSS 7.0. This PR's own CI cannot show that:ci.ymldeliberately skips the audit on pull requests ("We conciously do not audit dependencies as a PR step since errors are typically unrelated to the PR changes. This check is performed inpublish.yml",.github/workflows/ci.yml:180-181), andosv-scanneris not installable locally. The gate only proves out on the beta publish run after this mergesPublish @bitgo-betagoes greenOverlap with in-flight PRs
CECHO-1286) bumps the same four packages. It pinsfast-uri 4.1.2(forces ajv across a major) and forcesip-address 10.4.0under the oldsocks@2.7.3pin rather than upgrading socks. Suggest closing it in favour of this PR, or pulling these version choices into it — either is fine, but the two shouldn't both land.fast-urito 3.1.4, which no longer clears GHSA-7p8r-x3mc-p8w7 (needs 3.1.5). Itstar 7.5.22bump and 8 dropped exclusions are independent and still valuable, but itsfast-uripin needs raising or it will conflict with this change.Ticket: WCN-1798